Conversation
Addresses issues from Remco's environment testing.
BEAUti and `applauncher LogAnalyser` failed with
ClassNotFoundException for beast.fx classes (BeautiConfig and the input
editors). Root cause: a package's service providers are listed in its
version.xml; when a version.xml scan registered a provider (via
resolveLoaderFor) before the owning beast.fx plugin ModuleLayer existed,
the provider was mapped to the fallback system loader, which cannot load
it. registerPluginLayer uses putIfAbsent and so could not replace the
stale mapping, so BEASTClassLoader.forName threw.
- forName now falls through to the plugin layers on ClassNotFoundException
from the mapped loader, and caches the loader that actually resolves the
class (self-healing, so the slow path runs at most once per class).
- resolveLoaderFor now also consults registered plugin layers, not just
the boot layer.
- Added a regression test reproducing the stale-mapping scenario.
`beast -version` listed BEAST.base twice (once from the user package
dir, once via the bundle-root version.xml that the install dir
contributes). printVersion (both the beast-base and beast-fx copies) now
lists each package once, noting where it was found, and reports later
duplicates as skipped only in verbose mode.
BEAST.base examples could not be updated by a point release: they shipped
only in the bundle root, which is replaced only by a full reinstall. The
BEAST.base package zip now includes examples/ (curated to match the
bundle), so the package manager extracts and updates them in
~/.beast/2.8/BEAST.base/examples on install/upgrade. The three release
scripts (Linux/Windows/Mac) now extract the bundle-root examples from
that same package zip, giving the example set a single source of truth
(beast-base/src/assembly/package.xml) so the copies cannot drift.
…le-packaging Fix BEAUti startup, duplicate version listing, and example packaging
JavaFX loads its native libraries via System::load, which on Java 25 prints a restricted-method warning and will be blocked outright in a future release. Add --enable-native-access=javafx.graphics,javafx.media, javafx.web alongside the existing --add-modules in every launcher (Linux/Mac/Windows scripts) and in the jpackage cfg/wrapper generators so packaged bundles stay in sync.
…le-packaging Grant JavaFX native access to silence Java 25 launch warnings
Match the BEAST2 package layout by shipping the module sources at the zip root as <PackageName>.src.jar (BEAST.base.src.jar / BEAST.app.src.jar), alongside version.xml. The -sources.jar is already produced by maven-source-plugin (jar-no-fork) in the package phase, ordered before the assembly execution, so each descriptor just copies it in and renames it. This is the name/location PackageHealthChecker.checkSourceCode() and the legacy installer already expect.
Include source jar in BEAST.base and BEAST.app package zips
add bitflip.xml for beast3 #90
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.